J. Списочная очередь

Любимый вариант очереди Тимофея — очередь, написанная с использованием связного списка. Помогите ему с реализацией. Очередь должна поддерживать выполнение трёх команд:

get() — вывести элемент, находящийся в голове очереди, и удалить его. Если очередь пуста, то вывести «error».<br>
put(x) — добавить число x в очередь<br>
size() — вывести текущий размер очереди<br>

Формат ввода<br>
В первой строке записано количество команд n — целое число, не превосходящее 1000. В каждой из следующих n строк записаны команды по одной строке.<br>

Формат вывода<br>
Выведите ответ на каждый запрос по одному в строке.

Пример 1<br>
Ввод:<br>
10<br>
put -34<br>
put -23<br>
get<br>
size<br>
get<br>
size<br>
get<br>
get<br>
put 80<br>
size<br>

Вывод:<br>
-34<br>
1<br>
-23<br>
0<br>
error<br>
error<br>
1<br>

Пример 2<br>
Ввод:<br>
6<br>
put -66<br>
put 98<br>
size<br>
size<br>
get<br>
get<br>

Вывод:<br>
2<br>
2<br>
-66<br>
98<br>

Пример 3<br>
Ввод:<br>
9<br>
get<br>
size<br>
put 74<br>
get<br>
size<br>
put 90<br>
size<br>
size<br>
size<br>

Вывод:<br>
error<br>
0<br>
74<br>
0<br>
1<br>
1<br>
1<br>
